package com.chushouya.order.constants;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 支付宝订阅消息模板枚举
 *
 * @author chushouya
 * @date 2025-09-11
 */
@Getter
@AllArgsConstructor
public enum AlipaySubscribeTemplateEnum {

    /**
     * 下单成功订单状态通知
     * 字段：订单状态，订单编号，温馨提醒
     */
    ORDER_SUCCESS("cf80d7d81cc64690a9a5bd9a83006121", "下单成功订单状态通知", "pages/order/info"),

    /**
     * 回收服务取消通知
     * 字段：取消时间，订单编号
     */
    RECYCLE_CANCEL("2c58c268251a431d8fce62ddbec0728b", "回收服务取消通知", "pages/order/info"),

    /**
     * 回收金额已到账
     * 字段：回收商品，打款时间，订单编号，订单金额
     */
    PAYMENT_RECEIVED("cf097bc6f1ad4ce8903c60ad541c2ef8", "回收金额已到账", "pages/order/info");

    /**
     * 模板ID
     */
    private final String templateId;

    /**
     * 模板描述
     */
    private final String description;

    /**
     * 跳转页面
     */
    private final String pagePath;

    /**
     * 根据模板ID获取枚举
     *
     * @param templateId 模板ID
     * @return AlipaySubscribeTemplateEnum
     */
    public static AlipaySubscribeTemplateEnum getByTemplateId(String templateId) {
        for (AlipaySubscribeTemplateEnum template : values()) {
            if (template.getTemplateId().equals(templateId)) {
                return template;
            }
        }
        return null;
    }
}
